home *** CD-ROM | disk | FTP | other *** search
/ Aminet 31 / Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso / Aminet / dev / c / vbccppc.lha / vbcc / doc / History < prev    next >
Text File  |  1999-03-07  |  50KB  |  1,104 lines

  1. vbcc is (c) in 1995-99 by Volker Barthelmann
  2.  
  3. (cgm68k):  changes in the code generator for m68k
  4. (cgi386):  changes in the code generator for i386
  5. (cgppc):   changes in the code generator for ppc
  6. (cgalpha): changes in the code generator for alpha
  7. (cla68k):  changes in the C library for amiga68k
  8. (clappc):  changes in the C library for amigappc
  9. (vc):      changes in the compiler frontend
  10.  
  11.  
  12. Changes since V0.6d
  13.  
  14. - bug fix: typedefs of functions were not handled correctly
  15. - bug fix: fgets read one character too many (cla68k,clappc,clawos)
  16. - removed tail-recursion from killsp()
  17. - bug fix: incorrect use of associativity in certain rare cases
  18. - bug fix: redeclarations of inline-assembly functions left inline
  19.            assembly
  20. - bug fix: loop-unrolling had problems with loop-conditions that are
  21.            pointer comparisons
  22. - bug fix: conversion of fp -> unsigned char/short generated incorrect
  23.            assembly in special cases with FPU (cgm68k)
  24. - bug fix: fmul./fdiv. was generated incorrectly (cgppc)
  25. - bug fix: av_globals was calculated wrong (ouch!)
  26. - bug fix: adding a local optimizer-variable to a function which had
  27.            no variables in nesting 1 before
  28.  
  29. Changes since V0.6c
  30.  
  31. - support for auto-opening of libraries
  32. - bug fix: SUBIFP in strength-reduction
  33. - gets/fgets must not always return 0 when EOF
  34. - triton-code by Frank Wille included
  35. - bug fix: problems with folding pointer constants
  36. - bug fix: loop-unrolling with non-constant number of iterations
  37. - added HUGE_VAL (cla68k,clappc)
  38. - replaced fprintf(stderr by printf( (cla68k,clappc)
  39. - fixed an internal error with -no-multiple-ccs (cgppc)
  40. - included scheduler for ppc by Frank Wille (vscppc)
  41. - added support for scheduler to vc
  42. - bug fix: -1/a != -a (ouch!)
  43. - bug fix: folding of KONST|DREFOBJ was broken with optimization
  44. - some work on memory-cse
  45.  
  46. Changes since V0.6b
  47.  
  48. - added support for unsigned int size_t
  49. - added small data support for PPC (cgppc)
  50. - started code generator for c16x
  51. - added __near, __far, __chip and __saveds for 68k+PPC (cgm68k/cgppc)
  52. - added support for target-specific variable attributes
  53. - started small data support for PPC (cgppc)
  54. - improved caching of memory contents
  55. - Julian Kinraid adapted vconfig to new vc (vca68k)
  56. - warning 164 is not displayed if a function is called
  57. - bug fix: update is not allowed with rA==rD (cgppc)
  58. - changed external reference in tan.s (m040.lib) to non-pc-relative (cla68k)
  59.  
  60. Changes since V0.6a
  61.  
  62. - bug fix: fp-expressions with constants were sometimes rearranged
  63.            even without -fp-associative
  64. - bug fix: nested function-calls with stack-arguments and ORDERED_PUSH
  65. - several small changes to libvc.a/libm.a by Frank Wille (cla68k/clappc)
  66. - better use of loads with offsets (cgppc)
  67. - better tmpnam provided by A. M. Jorge (cla68k/clappc)
  68. - fwrite buffered now (clppc)
  69. - bug fix: there was a problem with GETRETURN
  70. - bug fix: bugs with argument passing in registers fixed
  71. - bug fix: a bug with TEST and UNSIGNED was introduced
  72. - bug fix: __reg without explicit type-/storage-class-specifier
  73. - bug fix: const float/double sometimes causes "#fp-constant"-problem (cgm68k)
  74. - added -double-push
  75. - negative values in reg_parm used for passign arguments in regs and stack
  76. - added -cf to vc
  77. - bug fix: format string for error 101 was broken
  78. - bug fix: conversions unsigned long->pointer in data-reg were broken (cgm68k)
  79. - bug fix: TEST without following branch could cause internal error (cgm68k)
  80. - new alib by Stephen Williams added
  81. - extra argument to reg_parm added, alpha/ppc cgs modified (cgalpha/cgppc)
  82. - bug fix: __reg was ignored in function-definitions with HAVE_REGPARMS
  83. - bug fix: switch_statement has to clear nocode
  84.  
  85. Changes since V0.6
  86.  
  87. - bug fix: functions returning structs
  88. - bug fix: str(n)icmp in extra.lib (cla68k/clappc)
  89. - added some simple elimination of redundant compare/bccs
  90. - added loop-unrolling for certain loop-invariant number of iterations
  91. - fixed names of some dos-varargs-functions in vargs.h (cla68k/clappc)
  92. - -use-lmw added (cgppc)
  93. - some work on -peephole (cgppc)
  94. - bug fix: signed right-shifts (cgppc)
  95. - newmalloc made standard (cla68k)
  96. - fixed some bugs in addressing (cgm68k)
  97. - BeginIO added to libamiga.a
  98. - fixed certain type-conversions (cgppc)
  99. - some bug fixes (cgalpha)
  100. - added NOEXE to config-files using PhxAss
  101. - bug fix: replaced buggy strncpy (cla68k/clappc)
  102. - support for stack-frames larger than 32KB added (cgppc)
  103. - some changes in the code-generator for ppc (cgppc)
  104. - new pasm can replace branches >16bit (config-files changed)
  105.  
  106. Changes since V0.5k
  107.  
  108. - -ml option added to vc
  109. - remove() and rename() added (clappc)
  110. - vc accepts +file anywhere now
  111.  
  112. Changes since V0.5j
  113.  
  114. - -setccs added (cgppc)
  115. - bug fix: some bugs for ppc fixed (cgppc)
  116. - bug fix: problems with SUBPFP in ic.c
  117. - bug fix: do_refs() had problems with pointer-constants (cgm68k)
  118. - bug fix: similar problem for i386 (cgi386)
  119. - obsolete EOF-check in main() removed
  120. - format for -cc/-ccv changed (vc)
  121. - + does not need the full path anymore (vc)
  122.  
  123. Changes since V0.5i
  124.  
  125. - fixed minor bugs in strcmp, strncmp and memcmp (cla68k,clappc)
  126. - fixed certain problems with regargs
  127. - some bug-fixes (cgppc,cgalpha)
  128. - bug-fix: KONST|DREFOBJ was incorrectly propagated as constant
  129. - hacked fd2lib to create libcall-includes (cla68k)
  130.  
  131. Changes since V0.5h
  132.  
  133. - -ul added to vc
  134. - -no-regnames added (cgppc)
  135. - changed gen_cond() void
  136. - support for struct-return and HAVE_REGPARMS
  137. - several bug-fixes (cgppc,cgalpha)
  138. - removed debugging-output in printzul
  139. - warning 208 extended to simple endless loops
  140. - cyclic dependencies in load_reg_parms are handled now
  141. - several bug fixes (cgppc)
  142.  
  143. Changes since V0.5g
  144.  
  145. - argument-registers were assigned before rewriting array/function-types
  146. - r2 is reserved (cgppc)
  147. - warning 168 is no more displayed for main()
  148. - bug-fix: alignment of floating-point-constants not always ok (cgppc,cgi386)
  149. - bug-fix: sub const with short types (cgppc)
  150. - function-inlining works with register-parameters
  151. - added stdarg-support (cgppc)
  152. - leaf-functions don't creat a stack-frame (cgppc)
  153. - some bug fixes (cgppc)
  154. - several changes in handling of alignments
  155. - added support for modulo (cgppc)
  156. - some modifications on alignments (cgm68k,cgppc)
  157. - -amiga-align added (cgppc)
  158. - mysupp included in extra.lib (cla68k)
  159. - some docs updated
  160. - added memread_id, memwrite_id and memwrite_completely to vsc.h
  161. - added inline-assembly-functions
  162.  
  163. Changes since V0.5f
  164.  
  165. - added examples of stdarg.h into the codegen-docs
  166. - -save-fp added (cgi386)
  167. - bug fix: conversions int<->char and %esi etc. (cgi386)
  168. - warning 170 turned off by default
  169. - bug fix: corrected prototype for strerror() (cla68k)
  170. - no-builtins added (cgalpha)
  171. - added some builtin faunctions (cgalpha)
  172. - ?: now works with non-scalars
  173. - dtgen is easier to use when not building a cross-compiler
  174. - __typeof added
  175. - conversions of DREFOBJ sometimes generated illegal assembly on
  176.   alpha (cgalpha)
  177.  
  178. Changes since V0.5e
  179.  
  180. - cg_copyright added
  181. - increased default-values for unroll-size and inline-size
  182. - some changes for PPC (cgppc)
  183. - bug fix: declarations with empty identifiers were accepted
  184. - bug fix: read_config() read one byte too much in vc (vc)
  185. - bug fix: warning 226 added
  186. - some optimizations for Alpha (cgalpha)
  187. - more conservative handling of copy-propagation and structs/unions
  188. - better handling of alignment of compund types
  189. - bug fix: local_regs() generated duplicate FREEREGs if a register
  190.            was exchanged in free_hreg()
  191. - bug fix: moveq was used incorrectly sometimes (cgm68k)
  192. - bug fix: problems with must_convert() for m68k (cgm68k)
  193. - bug fix: sometimes scratch registers were reused too early with
  194.            a op= b
  195.  
  196. Changes since V0.5d
  197.  
  198. - added warnings 224 and 225
  199. - bug fix: parsing of format-strings works better now
  200. - inlined calls don't increase <function_calls>
  201. - some work on the code-generator for alpha
  202. - bug fix: function-inlining didn't work with register parameters
  203. - clearing am before gen_dc
  204.  
  205. Changes since V0.5c
  206.  
  207. - new Makefile
  208. - better support for crosscompilers and emulation of data types
  209. - bug fix: several bugs fixed
  210. - a68k/amiga68k became m68k
  211.  
  212. Changes since V0.5b
  213.  
  214. - bug fix: corrupt alias info in frequency-reduction
  215. - bug fix: loop1 in flow.c
  216. -